home *** CD-ROM | disk | FTP | other *** search
/ Champak 106 / Vol 106.iso / games / 5_in_row.swf / scripts / frame_9 / DoAction.as
Encoding:
Text File  |  2010-04-12  |  1.8 KB  |  89 lines

  1. function dropTile()
  2. {
  3.    if(!pause)
  4.    {
  5.       if(aBoard[getBoardPos(posCounter)] == 0 && !loopFlag)
  6.       {
  7.          sf = posCounter - 1;
  8.          aBoard[getBoardPos(posCounter)] = currentTileNr;
  9.          if(sf != -1)
  10.          {
  11.             aBoard[getBoardPos(sf)] = 0;
  12.          }
  13.          else
  14.          {
  15.             clearStartPosArray();
  16.          }
  17.          if(++posCounter == maxPos)
  18.          {
  19.             playSound("moveTile3");
  20.             clearInterval(ivTimer);
  21.             gotoAndPlay(10);
  22.          }
  23.          else
  24.          {
  25.             playSound("moveTile3");
  26.          }
  27.       }
  28.       else
  29.       {
  30.          if(!loopFlag)
  31.          {
  32.             sf = posCounter - 1;
  33.          }
  34.          loopFlag = true;
  35.          lResult = loop2();
  36.          if(lResult == "back")
  37.          {
  38.             playSound("moveTile3");
  39.          }
  40.          else if(lResult == "ende")
  41.          {
  42.             clearInterval(ivTimer);
  43.             gotoAndPlay(10);
  44.          }
  45.          else
  46.          {
  47.             clearInterval(ivTimer);
  48.             gotoAndStop(13);
  49.          }
  50.       }
  51.    }
  52. }
  53. function loop2()
  54. {
  55.    if(++posCounter >= maxPos)
  56.    {
  57.       if(sf == -1)
  58.       {
  59.          return "tod";
  60.       }
  61.       return "ende";
  62.    }
  63.    if(aBoard[getBoardPos(posCounter)] == 0)
  64.    {
  65.       ef = posCounter - 1;
  66.       var i = ef;
  67.       while(i >= sf)
  68.       {
  69.          aBoard[getBoardPos(i + 1)] = aBoard[getBoardPos(i)];
  70.          i--;
  71.       }
  72.       if(sf == -1)
  73.       {
  74.          clearStartPosArray();
  75.          aBoard[getBoardPos(0)] = currentTileNr;
  76.       }
  77.       else
  78.       {
  79.          aBoard[getBoardPos(sf)] = 0;
  80.       }
  81.       sf++;
  82.       ef++;
  83.       return "back";
  84.    }
  85.    return loop2();
  86. }
  87. ivTimer = setInterval(dropTile,66);
  88. stop();
  89.